/*
 * url.h
 *
 *  Created on: Aug 28, 2011
 *      Author: anonovermind <anonovermind@gmail.com>
 */

#ifndef URL_H_
#define URL_H_

#include <string>

namespace Wishmaster2
{
namespace Network
{

class Url
{
public:
	Url();
	Url(const std::string& str);
	Url(const Url& url);

	Url& operator=(const Url& url);
	virtual ~Url();

	bool isValid() const;

	void setScheme(const std::string& scheme);
	std::string scheme() const;

	void setHost(const std::string& host);
	std::string host() const;

	std::string path() const;

	bool operator==(const Url& url) const;

private:
	class UrlImpl* m_impl;
};

} /* namespace Network */
} /* namespace Wishmaster2 */
#endif /* URL_H_ */
